{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "226401ce",
   "metadata": {},
   "outputs": [],
   "source": [
    "import pandas as pd\n",
    "\n",
    "# csvData = pd.read_csv('d:/data/tdz_opening_bid_report.csv')\n",
    "csvData = pd.read_csv('d:/data/tdz_opening_bid_report.csv',usecols=['project_id','purchase_project_type_mean','bidder','bid_price'])\n",
    "# csvData=csvData.drop(['id','source_id','bid_section_id','bid_section_code','dark_code','bid_section_code_mean','purchase_section_id','purchase_project_type','supply_id','bid_security','bid_security_time','note','signatrue_id','bid_price_chn','origin','bid_apply_json','status_mean','modify_time'],axis=1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "id": "6ce3c336",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>project_id</th>\n",
       "      <th>purchase_project_type_mean</th>\n",
       "      <th>bidder</th>\n",
       "      <th>bid_price</th>\n",
       "      <th>delivery_time</th>\n",
       "      <th>name</th>\n",
       "      <th>bid_spec</th>\n",
       "      <th>bid_amount</th>\n",
       "      <th>tender_complete_ip</th>\n",
       "      <th>mac_address</th>\n",
       "      <th>hard_disk_seq</th>\n",
       "      <th>status</th>\n",
       "      <th>create_time</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>7AF0FF9F9C244A679BB07B5CF63AA1D8</td>\n",
       "      <td>货物</td>\n",
       "      <td>闪购软件公司</td>\n",
       "      <td>777777.77</td>\n",
       "      <td>1个月内</td>\n",
       "      <td>绝云椒椒</td>\n",
       "      <td>个</td>\n",
       "      <td>7777.0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>1</td>\n",
       "      <td>12/8/2021 16:22:19</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>7AF0FF9F9C244A679BB07B5CF63AA1D8</td>\n",
       "      <td>货物</td>\n",
       "      <td>深圳市华为技术有限公司7777</td>\n",
       "      <td>888888.88</td>\n",
       "      <td>1周内</td>\n",
       "      <td>马尾草</td>\n",
       "      <td>柱</td>\n",
       "      <td>888.0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>1</td>\n",
       "      <td>12/8/2021 16:23:11</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>7AF0FF9F9C244A679BB07B5CF63AA1D8</td>\n",
       "      <td>货物</td>\n",
       "      <td>珠海格力电器股份有限公司</td>\n",
       "      <td>955555.55</td>\n",
       "      <td>半年内</td>\n",
       "      <td>绯樱球</td>\n",
       "      <td>包</td>\n",
       "      <td>1999.0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>1</td>\n",
       "      <td>12/8/2021 16:23:51</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>03883E99BA7446BDA6622B5DC496A85D</td>\n",
       "      <td>工程</td>\n",
       "      <td>闪购软件公司</td>\n",
       "      <td>876543.21</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>1</td>\n",
       "      <td>15/8/2021 11:33:04</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>03883E99BA7446BDA6622B5DC496A85D</td>\n",
       "      <td>工程</td>\n",
       "      <td>深圳市国采软件公司</td>\n",
       "      <td>998765.43</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>1</td>\n",
       "      <td>15/8/2021 12:46:19</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8309</th>\n",
       "      <td>A38C772C3A1E43E880F66721A2359243</td>\n",
       "      <td>货物</td>\n",
       "      <td>云智谷物联网技术（深圳）有限公司</td>\n",
       "      <td>1202235.00</td>\n",
       "      <td>30</td>\n",
       "      <td>消防员灭火防护服</td>\n",
       "      <td>ZFMH-KTZ A</td>\n",
       "      <td>15.0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>1</td>\n",
       "      <td>10/8/2023 09:35:34</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8310</th>\n",
       "      <td>A38C772C3A1E43E880F66721A2359243</td>\n",
       "      <td>货物</td>\n",
       "      <td>广州道熙建材有限公司</td>\n",
       "      <td>879329.00</td>\n",
       "      <td>自合同签订之日起30日内完成交货</td>\n",
       "      <td>桂安牌手提式干粉灭火器1 开隆牌消防员灭火服</td>\n",
       "      <td>MFTZ/ABC 4 、ZFMH-KL B</td>\n",
       "      <td>2165.0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>1</td>\n",
       "      <td>10/8/2023 09:43:18</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8311</th>\n",
       "      <td>10895A88C81C4FD0923CD515E90C66F5</td>\n",
       "      <td>服务</td>\n",
       "      <td>广东知青搬家集团有限公司</td>\n",
       "      <td>1798000.00</td>\n",
       "      <td>成交供应商在采购人发出搬迁通知启动搬迁工作后，30天内完成搬迁、安装及调试。特殊情况如场地原...</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>1</td>\n",
       "      <td>18/8/2023 09:35:58</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8312</th>\n",
       "      <td>10895A88C81C4FD0923CD515E90C66F5</td>\n",
       "      <td>服务</td>\n",
       "      <td>广州欧玮仪器技术有限公司</td>\n",
       "      <td>1799100.00</td>\n",
       "      <td>在采购人发出搬迁通知启动搬迁工作后，30天内完成搬迁、安装及调试。特殊情况如场地原因、学院要...</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>1</td>\n",
       "      <td>18/8/2023 09:36:05</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8313</th>\n",
       "      <td>10895A88C81C4FD0923CD515E90C66F5</td>\n",
       "      <td>服务</td>\n",
       "      <td>广州仪速安电子科技有限公司</td>\n",
       "      <td>1797950.00</td>\n",
       "      <td>仪速安科技承诺在采购人发出搬迁通知启动搬迁工作后，25天内完成搬迁、安装及调试。特殊情况如场...</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>1</td>\n",
       "      <td>18/8/2023 09:36:35</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>8314 rows × 13 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "                            project_id purchase_project_type_mean  \\\n",
       "0     7AF0FF9F9C244A679BB07B5CF63AA1D8                         货物   \n",
       "1     7AF0FF9F9C244A679BB07B5CF63AA1D8                         货物   \n",
       "2     7AF0FF9F9C244A679BB07B5CF63AA1D8                         货物   \n",
       "3     03883E99BA7446BDA6622B5DC496A85D                         工程   \n",
       "4     03883E99BA7446BDA6622B5DC496A85D                         工程   \n",
       "...                                ...                        ...   \n",
       "8309  A38C772C3A1E43E880F66721A2359243                         货物   \n",
       "8310  A38C772C3A1E43E880F66721A2359243                         货物   \n",
       "8311  10895A88C81C4FD0923CD515E90C66F5                         服务   \n",
       "8312  10895A88C81C4FD0923CD515E90C66F5                         服务   \n",
       "8313  10895A88C81C4FD0923CD515E90C66F5                         服务   \n",
       "\n",
       "                bidder   bid_price  \\\n",
       "0               闪购软件公司   777777.77   \n",
       "1      深圳市华为技术有限公司7777   888888.88   \n",
       "2         珠海格力电器股份有限公司   955555.55   \n",
       "3               闪购软件公司   876543.21   \n",
       "4            深圳市国采软件公司   998765.43   \n",
       "...                ...         ...   \n",
       "8309  云智谷物联网技术（深圳）有限公司  1202235.00   \n",
       "8310        广州道熙建材有限公司   879329.00   \n",
       "8311      广东知青搬家集团有限公司  1798000.00   \n",
       "8312      广州欧玮仪器技术有限公司  1799100.00   \n",
       "8313     广州仪速安电子科技有限公司  1797950.00   \n",
       "\n",
       "                                          delivery_time  \\\n",
       "0                                                  1个月内   \n",
       "1                                                   1周内   \n",
       "2                                                   半年内   \n",
       "3                                                   NaN   \n",
       "4                                                   NaN   \n",
       "...                                                 ...   \n",
       "8309                                                 30   \n",
       "8310                                   自合同签订之日起30日内完成交货   \n",
       "8311  成交供应商在采购人发出搬迁通知启动搬迁工作后，30天内完成搬迁、安装及调试。特殊情况如场地原...   \n",
       "8312  在采购人发出搬迁通知启动搬迁工作后，30天内完成搬迁、安装及调试。特殊情况如场地原因、学院要...   \n",
       "8313  仪速安科技承诺在采购人发出搬迁通知启动搬迁工作后，25天内完成搬迁、安装及调试。特殊情况如场...   \n",
       "\n",
       "                        name               bid_spec  bid_amount  \\\n",
       "0                       绝云椒椒                      个      7777.0   \n",
       "1                        马尾草                      柱       888.0   \n",
       "2                        绯樱球                      包      1999.0   \n",
       "3                        NaN                    NaN         NaN   \n",
       "4                        NaN                    NaN         NaN   \n",
       "...                      ...                    ...         ...   \n",
       "8309                消防员灭火防护服             ZFMH-KTZ A        15.0   \n",
       "8310  桂安牌手提式干粉灭火器1 开隆牌消防员灭火服  MFTZ/ABC 4 、ZFMH-KL B      2165.0   \n",
       "8311                     NaN                    NaN         NaN   \n",
       "8312                     NaN                    NaN         NaN   \n",
       "8313                     NaN                    NaN         NaN   \n",
       "\n",
       "      tender_complete_ip  mac_address  hard_disk_seq  status  \\\n",
       "0                    NaN          NaN            NaN       1   \n",
       "1                    NaN          NaN            NaN       1   \n",
       "2                    NaN          NaN            NaN       1   \n",
       "3                    NaN          NaN            NaN       1   \n",
       "4                    NaN          NaN            NaN       1   \n",
       "...                  ...          ...            ...     ...   \n",
       "8309                 NaN          NaN            NaN       1   \n",
       "8310                 NaN          NaN            NaN       1   \n",
       "8311                 NaN          NaN            NaN       1   \n",
       "8312                 NaN          NaN            NaN       1   \n",
       "8313                 NaN          NaN            NaN       1   \n",
       "\n",
       "             create_time  \n",
       "0     12/8/2021 16:22:19  \n",
       "1     12/8/2021 16:23:11  \n",
       "2     12/8/2021 16:23:51  \n",
       "3     15/8/2021 11:33:04  \n",
       "4     15/8/2021 12:46:19  \n",
       "...                  ...  \n",
       "8309  10/8/2023 09:35:34  \n",
       "8310  10/8/2023 09:43:18  \n",
       "8311  18/8/2023 09:35:58  \n",
       "8312  18/8/2023 09:36:05  \n",
       "8313  18/8/2023 09:36:35  \n",
       "\n",
       "[8314 rows x 13 columns]"
      ]
     },
     "execution_count": 12,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "csvData"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "id": "101f2e81",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "count      8313.000000\n",
       "mean        434.532289\n",
       "std        6099.316124\n",
       "min           0.000000\n",
       "25%         139.995000\n",
       "50%         205.546186\n",
       "75%         371.578370\n",
       "max      545341.245300\n",
       "Name: bid_price, dtype: float64"
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "tmp = csvData['bid_price'] / 10000\n",
    "tmp.describe()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 35,
   "id": "ead82374",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>bid_price</th>\n",
       "      <th>bid_amount</th>\n",
       "      <th>tender_complete_ip</th>\n",
       "      <th>mac_address</th>\n",
       "      <th>hard_disk_seq</th>\n",
       "      <th>status</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>count</th>\n",
       "      <td>8.313000e+03</td>\n",
       "      <td>3.353000e+03</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>8314.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>mean</th>\n",
       "      <td>4.345323e+06</td>\n",
       "      <td>6.583527e+03</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>0.997955</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>std</th>\n",
       "      <td>6.099316e+07</td>\n",
       "      <td>1.817430e+05</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>0.045175</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>min</th>\n",
       "      <td>0.000000e+00</td>\n",
       "      <td>0.000000e+00</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>25%</th>\n",
       "      <td>1.399950e+06</td>\n",
       "      <td>1.000000e+00</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>1.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>50%</th>\n",
       "      <td>2.055462e+06</td>\n",
       "      <td>1.000000e+00</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>1.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>75%</th>\n",
       "      <td>3.715784e+06</td>\n",
       "      <td>5.000000e+00</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>1.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>max</th>\n",
       "      <td>5.453412e+09</td>\n",
       "      <td>1.000000e+07</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>1.000000</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "          bid_price    bid_amount  tender_complete_ip  mac_address  \\\n",
       "count  8.313000e+03  3.353000e+03                 0.0          0.0   \n",
       "mean   4.345323e+06  6.583527e+03                 NaN          NaN   \n",
       "std    6.099316e+07  1.817430e+05                 NaN          NaN   \n",
       "min    0.000000e+00  0.000000e+00                 NaN          NaN   \n",
       "25%    1.399950e+06  1.000000e+00                 NaN          NaN   \n",
       "50%    2.055462e+06  1.000000e+00                 NaN          NaN   \n",
       "75%    3.715784e+06  5.000000e+00                 NaN          NaN   \n",
       "max    5.453412e+09  1.000000e+07                 NaN          NaN   \n",
       "\n",
       "       hard_disk_seq       status  \n",
       "count            0.0  8314.000000  \n",
       "mean             NaN     0.997955  \n",
       "std              NaN     0.045175  \n",
       "min              NaN     0.000000  \n",
       "25%              NaN     1.000000  \n",
       "50%              NaN     1.000000  \n",
       "75%              NaN     1.000000  \n",
       "max              NaN     1.000000  "
      ]
     },
     "execution_count": 35,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "csvData.describe()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 43,
   "id": "5775ea64",
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>c1</th>\n",
       "      <th>c2</th>\n",
       "      <th>c3</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>1</td>\n",
       "      <td>3</td>\n",
       "      <td>7</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>2</td>\n",
       "      <td>4</td>\n",
       "      <td>8</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>3</td>\n",
       "      <td>54</td>\n",
       "      <td>8</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>4</td>\n",
       "      <td>6</td>\n",
       "      <td>4</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>5</td>\n",
       "      <td>5</td>\n",
       "      <td>7</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   c1  c2  c3\n",
       "0   1   3   7\n",
       "1   2   4   8\n",
       "2   3  54   8\n",
       "3   4   6   4\n",
       "4   5   5   7"
      ]
     },
     "execution_count": 43,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "expaml1 = pd.DataFrame({'c1':[1,2,3,4,5],'c2': [3,4,54,6,5],'c3': [7,8,8,4,7]})\n",
    "expaml1"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 52,
   "id": "6607f71f",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "c1     1.581139\n",
       "c2    22.165288\n",
       "c3     1.643168\n",
       "dtype: float64"
      ]
     },
     "execution_count": 52,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# expaml1.max()\n",
    "# expaml1.min()\n",
    "# expaml1.mean()\n",
    "expaml1.std()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 56,
   "id": "2a001d64",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "c1    0\n",
       "c2    0\n",
       "c3    3\n",
       "dtype: int64"
      ]
     },
     "execution_count": 56,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 取出最大、小值的索引\n",
    "# expaml1.idxmax()\n",
    "expaml1.idxmin()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 68,
   "id": "5539878f",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "0\n",
      "0\n",
      "3\n"
     ]
    }
   ],
   "source": [
    "# result = [expaml1[i].index for i in expaml1.idxmin()]\n",
    "tmp = expaml1.idxmin()\n",
    "for i in tmp:\n",
    "    print(i)\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "c91524fd",
   "metadata": {},
   "outputs": [],
   "source": [
    "tmp = csvData['bid_price']"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "id": "8460f9fa",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# cumsum() 累加 \n",
    "import matplotlib.pyplot as plt\n",
    "\n",
    "#pandas 画图 kind:默认 line 折线图，bar,barh,hist,pie,scatter\n",
    "tmp.cumsum().plot(kind = 'line')\n",
    "#可以不用show()\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "3858cece",
   "metadata": {},
   "source": [
    "# 自定义运算"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 132,
   "id": "f6701098",
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\Administrator\\AppData\\Local\\Temp\\ipykernel_17852\\3566787396.py:4: RuntimeWarning: divide by zero encountered in scalar divide\n",
      "  csvData[['bid_price','bid_amount']].apply(lambda row : row['bid_price']/row['bid_amount'] ,1)\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "0         100.010000\n",
       "1        1001.000991\n",
       "2         478.016783\n",
       "3                NaN\n",
       "4                NaN\n",
       "            ...     \n",
       "8309    80149.000000\n",
       "8310      406.156582\n",
       "8311             NaN\n",
       "8312             NaN\n",
       "8313             NaN\n",
       "Length: 8314, dtype: float64"
      ]
     },
     "execution_count": 132,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# csvData[['bid_price','bid_amount']]\n",
    "\n",
    "# axis 默认 0 列，1行\n",
    "csvData[['bid_price','bid_amount']].apply(lambda row : row['bid_price']/row['bid_amount'] ,axis=1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 131,
   "id": "22c069d9",
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Users\\Administrator\\AppData\\Local\\Temp\\ipykernel_17852\\1496948655.py:1: RuntimeWarning: divide by zero encountered in scalar divide\n",
      "  csvData.query('bid_price>0').set_index(['bidder'])[['bid_price','bid_amount']].apply(lambda row : row['bid_price']/row['bid_amount'] ,axis=1)\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "bidder\n",
       "闪购软件公司                100.010000\n",
       "深圳市华为技术有限公司7777      1001.000991\n",
       "珠海格力电器股份有限公司          478.016783\n",
       "闪购软件公司                       NaN\n",
       "深圳市国采软件公司                    NaN\n",
       "                        ...     \n",
       "云智谷物联网技术（深圳）有限公司    80149.000000\n",
       "广州道熙建材有限公司            406.156582\n",
       "广东知青搬家集团有限公司                 NaN\n",
       "广州欧玮仪器技术有限公司                 NaN\n",
       "广州仪速安电子科技有限公司                NaN\n",
       "Length: 8310, dtype: float64"
      ]
     },
     "execution_count": 131,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "csvData.query('bid_price>0').set_index(['bidder'])[['bid_price','bid_amount']].apply(lambda row : row['bid_price']/row['bid_amount'] ,axis=1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "01cfd744",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>project_id</th>\n",
       "      <th>purchase_project_type_mean</th>\n",
       "      <th>bidder</th>\n",
       "      <th>bid_price</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>161</th>\n",
       "      <td>84A5F9101A10437F83EA75F3F9CCABF0</td>\n",
       "      <td>工程</td>\n",
       "      <td>测试测试公司</td>\n",
       "      <td>0.000000e+00</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>181</th>\n",
       "      <td>F017CFBC19E54C8598739CF3BF1E46E5</td>\n",
       "      <td>工程</td>\n",
       "      <td>测试供应商4</td>\n",
       "      <td>0.000000e+00</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7809</th>\n",
       "      <td>F264A74A44AB4C1082BC722D1D8973D4</td>\n",
       "      <td>服务</td>\n",
       "      <td>广州菲达建筑咨询有限公司</td>\n",
       "      <td>0.000000e+00</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>53</th>\n",
       "      <td>5E06739D7B9D424C894820065BB7F2A1</td>\n",
       "      <td>服务</td>\n",
       "      <td>测试供应商4</td>\n",
       "      <td>1.000000e-02</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>55</th>\n",
       "      <td>89BA79F769C34A388E2ED77BD13DBB24</td>\n",
       "      <td>工程</td>\n",
       "      <td>HDCS</td>\n",
       "      <td>1.000000e-02</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4958</th>\n",
       "      <td>72F1089335464707912C80EBB7D16A5E</td>\n",
       "      <td>货物</td>\n",
       "      <td>中国人民解放军国防科技大学</td>\n",
       "      <td>3.983800e+08</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4956</th>\n",
       "      <td>72F1089335464707912C80EBB7D16A5E</td>\n",
       "      <td>货物</td>\n",
       "      <td>中国移动通信集团广东有限公司</td>\n",
       "      <td>3.995200e+08</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4955</th>\n",
       "      <td>72F1089335464707912C80EBB7D16A5E</td>\n",
       "      <td>货物</td>\n",
       "      <td>中科可控信息产业有限公司</td>\n",
       "      <td>3.995312e+08</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7385</th>\n",
       "      <td>0197DF5AF59D4BAEB074B2789B5287C9</td>\n",
       "      <td>货物</td>\n",
       "      <td>测试公司</td>\n",
       "      <td>5.453412e+09</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>909</th>\n",
       "      <td>24C7ADEC02514CDF9D8A8461928413C8</td>\n",
       "      <td>货物</td>\n",
       "      <td>思腾合力（天津）科技有限公司</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>8314 rows × 4 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "                            project_id purchase_project_type_mean  \\\n",
       "161   84A5F9101A10437F83EA75F3F9CCABF0                         工程   \n",
       "181   F017CFBC19E54C8598739CF3BF1E46E5                         工程   \n",
       "7809  F264A74A44AB4C1082BC722D1D8973D4                         服务   \n",
       "53    5E06739D7B9D424C894820065BB7F2A1                         服务   \n",
       "55    89BA79F769C34A388E2ED77BD13DBB24                         工程   \n",
       "...                                ...                        ...   \n",
       "4958  72F1089335464707912C80EBB7D16A5E                         货物   \n",
       "4956  72F1089335464707912C80EBB7D16A5E                         货物   \n",
       "4955  72F1089335464707912C80EBB7D16A5E                         货物   \n",
       "7385  0197DF5AF59D4BAEB074B2789B5287C9                         货物   \n",
       "909   24C7ADEC02514CDF9D8A8461928413C8                         货物   \n",
       "\n",
       "              bidder     bid_price  \n",
       "161           测试测试公司  0.000000e+00  \n",
       "181           测试供应商4  0.000000e+00  \n",
       "7809    广州菲达建筑咨询有限公司  0.000000e+00  \n",
       "53            测试供应商4  1.000000e-02  \n",
       "55              HDCS  1.000000e-02  \n",
       "...              ...           ...  \n",
       "4958   中国人民解放军国防科技大学  3.983800e+08  \n",
       "4956  中国移动通信集团广东有限公司  3.995200e+08  \n",
       "4955    中科可控信息产业有限公司  3.995312e+08  \n",
       "7385            测试公司  5.453412e+09  \n",
       "909   思腾合力（天津）科技有限公司           NaN  \n",
       "\n",
       "[8314 rows x 4 columns]"
      ]
     },
     "execution_count": 2,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "import pandas as pd\n",
    "\n",
    "da = pd.read_csv('d:/data/tdz_opening_bid_report.csv',encoding='utf8',#converters ={'bid_price':str},\n",
    "                 usecols=['project_id','purchase_project_type_mean','bidder','bid_price'])\n",
    "\n",
    "da.sort_values(['bid_price','project_id'],ascending=False)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 37,
   "id": "47b1f5bf",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "5453412453.0"
      ]
     },
     "execution_count": 37,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "da['bid_price'][7385]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 35,
   "id": "95bd496c",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>project_id</th>\n",
       "      <th>purchase_project_type_mean</th>\n",
       "      <th>bidder</th>\n",
       "      <th>bid_price</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>126</th>\n",
       "      <td>6D08496B573647638B323FAB663FC6BF</td>\n",
       "      <td>工程</td>\n",
       "      <td>测试测试公司</td>\n",
       "      <td>5.000000e+07</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>138</th>\n",
       "      <td>6930CA8FEF3D4C47B39740C150D907A4</td>\n",
       "      <td>货物</td>\n",
       "      <td>深圳市一诺软件有限公司（测试01）</td>\n",
       "      <td>1.074000e+07</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>139</th>\n",
       "      <td>6930CA8FEF3D4C47B39740C150D907A4</td>\n",
       "      <td>货物</td>\n",
       "      <td>深圳市一诺软件有限公司123</td>\n",
       "      <td>1.090000e+07</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>382</th>\n",
       "      <td>2D063835F923444EBD5A4D05325252B5</td>\n",
       "      <td>服务</td>\n",
       "      <td>测试测试公司</td>\n",
       "      <td>1.111111e+08</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>383</th>\n",
       "      <td>2D063835F923444EBD5A4D05325252B5</td>\n",
       "      <td>服务</td>\n",
       "      <td>測試供應商3</td>\n",
       "      <td>1.300000e+08</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8248</th>\n",
       "      <td>68DBD214AA3D443F8F9D0E6BFC6D1DE0</td>\n",
       "      <td>服务</td>\n",
       "      <td>碧桂园生活服务集团股份有限公司</td>\n",
       "      <td>1.668590e+08</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8249</th>\n",
       "      <td>68DBD214AA3D443F8F9D0E6BFC6D1DE0</td>\n",
       "      <td>服务</td>\n",
       "      <td>华发物业服务有限公司</td>\n",
       "      <td>1.815397e+08</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8250</th>\n",
       "      <td>68DBD214AA3D443F8F9D0E6BFC6D1DE0</td>\n",
       "      <td>服务</td>\n",
       "      <td>深圳市新东升物业管理有限公司</td>\n",
       "      <td>1.818166e+08</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8251</th>\n",
       "      <td>68DBD214AA3D443F8F9D0E6BFC6D1DE0</td>\n",
       "      <td>服务</td>\n",
       "      <td>北京国基伟业物业管理有限公司</td>\n",
       "      <td>1.785687e+08</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8282</th>\n",
       "      <td>96824E1963C04305ABFB75B95C85EDFE</td>\n",
       "      <td>货物</td>\n",
       "      <td>广州粤弘建筑工程有限公司</td>\n",
       "      <td>6.469047e+07</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>312 rows × 4 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "                            project_id purchase_project_type_mean  \\\n",
       "126   6D08496B573647638B323FAB663FC6BF                         工程   \n",
       "138   6930CA8FEF3D4C47B39740C150D907A4                         货物   \n",
       "139   6930CA8FEF3D4C47B39740C150D907A4                         货物   \n",
       "382   2D063835F923444EBD5A4D05325252B5                         服务   \n",
       "383   2D063835F923444EBD5A4D05325252B5                         服务   \n",
       "...                                ...                        ...   \n",
       "8248  68DBD214AA3D443F8F9D0E6BFC6D1DE0                         服务   \n",
       "8249  68DBD214AA3D443F8F9D0E6BFC6D1DE0                         服务   \n",
       "8250  68DBD214AA3D443F8F9D0E6BFC6D1DE0                         服务   \n",
       "8251  68DBD214AA3D443F8F9D0E6BFC6D1DE0                         服务   \n",
       "8282  96824E1963C04305ABFB75B95C85EDFE                         货物   \n",
       "\n",
       "                 bidder     bid_price  \n",
       "126              测试测试公司  5.000000e+07  \n",
       "138   深圳市一诺软件有限公司（测试01）  1.074000e+07  \n",
       "139      深圳市一诺软件有限公司123  1.090000e+07  \n",
       "382              测试测试公司  1.111111e+08  \n",
       "383              測試供應商3  1.300000e+08  \n",
       "...                 ...           ...  \n",
       "8248    碧桂园生活服务集团股份有限公司  1.668590e+08  \n",
       "8249         华发物业服务有限公司  1.815397e+08  \n",
       "8250     深圳市新东升物业管理有限公司  1.818166e+08  \n",
       "8251     北京国基伟业物业管理有限公司  1.785687e+08  \n",
       "8282       广州粤弘建筑工程有限公司  6.469047e+07  \n",
       "\n",
       "[312 rows x 4 columns]"
      ]
     },
     "execution_count": 35,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "da.query('bid_price>9999999')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "36a148b0",
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.11.5"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
